Insert, Update, Delete, Undelete, এবং Merge অপারেশন Salesforce প্ল্যাটফর্মে ডেটা ম্যানিপুলেশনের জন্য ব্যবহৃত গুরুত্বপূর্ণ DML অপারেশন। প্রতিটি অপারেশন নির্দিষ্ট উদ্দেশ্য পূরণের জন্য ব্যবহার করা হয়, যেমন ডেটা যোগ, সংশোধন, মুছে ফেলা, পুনরুদ্ধার এবং একত্রিত করা।
১. Insert Operation
Insert অপারেশন ব্যবহার করে Salesforce ডেটাবেজে নতুন রেকর্ড যোগ করা হয়। এই অপারেশনটি সাধারণত insert কিওয়ার্ড ব্যবহার করে চালানো হয়।
উদাহরণ:
Account acc = new Account(Name = 'Acme Corporation');
insert acc;
এখানে Acme Corporation নামে একটি নতুন Account রেকর্ড তৈরি করে ডেটাবেজে সেভ করা হয়েছে।
Bulk Insert
একাধিক রেকর্ড একসাথে Insert করতে List ব্যবহার করে Bulk Insert চালানো যায়।
উদাহরণ:
List<Account> accounts = new List<Account>{
new Account(Name = 'Account 1'),
new Account(Name = 'Account 2')
};
insert accounts;
২. Update Operation
Update অপারেশন ব্যবহার করে বিদ্যমান রেকর্ডের তথ্য পরিবর্তন করা হয়। এটি update কিওয়ার্ড ব্যবহার করে চালানো হয়।
উদাহরণ:
Account acc = [SELECT Id, Name FROM Account WHERE Name = 'Acme Corporation' LIMIT 1];
acc.Name = 'Acme Inc.';
update acc;
এখানে Acme Corporation নামে Account রেকর্ডটির নাম পরিবর্তন করে Acme Inc. করা হয়েছে।
Bulk Update
একাধিক রেকর্ড একসাথে Update করতে List ব্যবহার করে Bulk Update চালানো যায়।
উদাহরণ:
List<Account> accounts = [SELECT Id, Name FROM Account WHERE Industry = 'Technology'];
for (Account acc : accounts) {
acc.Industry = 'Information Technology';
}
update accounts;
৩. Delete Operation
Delete অপারেশন ব্যবহার করে বিদ্যমান রেকর্ড ডেটাবেজ থেকে মুছে ফেলা হয়। এটি delete কিওয়ার্ড ব্যবহার করে চালানো হয়।
উদাহরণ:
Account acc = [SELECT Id FROM Account WHERE Name = 'Acme Inc.' LIMIT 1];
delete acc;
এখানে Acme Inc. নামে Account রেকর্ডটি ডিলিট করা হয়েছে।
Bulk Delete
একাধিক রেকর্ড একসাথে Delete করতে List ব্যবহার করে Bulk Delete চালানো যায়।
উদাহরণ:
List<Account> accounts = [SELECT Id FROM Account WHERE Industry = 'Obsolete'];
delete accounts;
৪. Undelete Operation
Undelete অপারেশন ব্যবহার করে পূর্বে ডিলিট করা রেকর্ড পুনরুদ্ধার করা হয়। এটি undelete কিওয়ার্ড ব্যবহার করে চালানো হয় এবং শুধুমাত্র রিসাইকেল বিনে থাকা রেকর্ডগুলোর ক্ষেত্রেই প্রযোজ্য।
উদাহরণ:
List<Account> deletedAccounts = [SELECT Id FROM Account WHERE IsDeleted = true LIMIT 1 ALL ROWS];
undelete deletedAccounts;
এখানে IsDeleted = true হওয়া রেকর্ডগুলো undelete অপারেশন ব্যবহার করে পুনরুদ্ধার করা হয়েছে।
৫. Merge Operation
Merge অপারেশন ব্যবহার করে দুটি বা ততোধিক রেকর্ড একত্রিত করে একটি রেকর্ড তৈরি করা যায়। সাধারণত এটি ডুপ্লিকেট রেকর্ড অপসারণের জন্য ব্যবহৃত হয়। merge অপারেশনে একটি master রেকর্ড এবং এক বা একাধিক duplicate রেকর্ড উল্লেখ করা হয়।
উদাহরণ:
Account masterAcc = [SELECT Id FROM Account WHERE Name = 'Primary Account' LIMIT 1];
Account duplicateAcc = [SELECT Id FROM Account WHERE Name = 'Duplicate Account' LIMIT 1];
merge masterAcc duplicateAcc;
এখানে Primary Account এবং Duplicate Account রেকর্ড দুটি মার্জ করে একটি একক রেকর্ড তৈরি করা হয়েছে।
DML Operations-এর Best Practices
Bulk DML Operations: একাধিক রেকর্ড প্রক্রিয়া করার সময় List ব্যবহার করে Bulk DML অপারেশন চালানো উচিত, যা গভর্নর লিমিটের মধ্যে থেকে কাজ করতে সহায়ক।
Try-Catch Block ব্যবহার: DML অপারেশন চালানোর সময় ত্রুটি মোকাবেলা করতে try-catch ব্লক ব্যবহার করা উচিত, যা DML Exception হ্যান্ডেল করতে সহায়ক।
উদাহরণ:
try {
insert accounts;
} catch (DmlException e) {
System.debug('DML Exception: ' + e.getMessage());
}
Partial DML (Database DML): Database.insert() বা Database.update() এর মতো DML মেথড ব্যবহার করে অপারেশনের আংশিক সফলতা নিশ্চিত করা যায়।
উদাহরণ:
Database.SaveResult[] results = Database.insert(accounts, false);
for (Database.SaveResult result : results) {
if (result.isSuccess()) {
System.debug('Record Inserted: ' + result.getId());
} else {
System.debug('Error: ' + result.getErrors()[0].getMessage());
}
}
Avoid Hardcoded IDs: হার্ডকোড করা Id ব্যবহার এড়ানো উচিত এবং পরিবর্তনশীল ভ্যালু ব্যবহার করা উচিত, যা কোড রিইউজেবল করে।
Governor Limits বোঝা: Salesforce গভর্নর লিমিট মেনে DML অপারেশন চালানো উচিত এবং অতিরিক্ত DML অপারেশন এড়ানো উচিত।
সংক্ষেপে DML Operations
| অপারেশন | উদ্দেশ্য |
|---|---|
| INSERT | নতুন রেকর্ড ডেটাবেজে যোগ করা |
| UPDATE | বিদ্যমান রেকর্ডের ডেটা পরিবর্তন করা |
| DELETE | বিদ্যমান রেকর্ড ডেটাবেজ থেকে মুছে ফেলা |
| UNDELETE | ডিলিট হওয়া রেকর্ড পুনরুদ্ধার করা |
| MERGE | দুটি বা ততোধিক রেকর্ড একত্রিত করে একটি রেকর্ড তৈরি করা |
Salesforce প্ল্যাটফর্মে DML অপারেশনস ব্যবহার করে ডেটা সংযোজন, সংশোধন, মুছে ফেলা এবং একত্রিত করার প্রক্রিয়া সহজে সম্পন্ন করা যায়। DML অপারেশনস-এর Best Practices অনুসরণ করে কার্যকরী ও গভর্নর লিমিটের মধ্যে থেকে ডেটা পরিচালনা করা সম্ভব।
Read more